form 태그
form
- 사용자에게 입력받은 정보를 제출하기 위한 대화형 컨트롤을 포함하는 문서 구획
method
속성
Post
- 양식 데이터를 요청 본문(body)으로 전송
- 브라우저에 캐싱이 되지 않고, 기록도 남지 않음
- POST 방식은 HTTP 요청에 의한 데이터는 쿼리 문자열과는 별도로 전송
- 데이터의 길이제한이 없고, GET 방식보다 보안성이 높음
enctype
속성- method 특성이 post인 경우 enctype은 양식 제출 시 데이터의 MIME 유형을 나타냄
MIME 타입
- 클라이언트에 전송된 문서의 다양성을 알려주기 위한 방법
- 브라우저들은 리소스를 내려받았을 때 해야 할 기본 동작이 무엇인지 결정 하기 위해서 사용 application/x-www-form-urlencoded
: 기본값multipart/form-data
:<input type="file">
이 존재하는 경우 사용
- method 특성이 post인 경우 enctype은 양식 제출 시 데이터의 MIME 유형을 나타냄
Get
https://example.com?name=홍길동&age=20
에서 age=20은 key와 value형태로 데이터를 보낸다.- 양식 데이터를 action URL과
?
구분자 뒤에 이어 붙여서 전송. - GET 방식의 HTTP 요청은 브라우저에 의해 캐시 저장됨.
- 보통 쿼리 문자열에 포함되어 전송되므로 길이 제한
- 보안상 취약함, 중요한 데이터(신상정보, 아이디 ,패스워드)는 POST 방식을 사용
get/post 간단 요약
POST | GET | |
---|---|---|
전송 | 양 식 데이터를 요청 본문으로 전송 | ?key=value |
캐시 | X | O |
길이제한 | X | O |
보안 | Get방식보다 좋음 | 취약 |
action
속성
- 양식 데이터를 처리할 프로그램의 URI 작성.
- 데이터를 보낼 위치를 지정
- 속성을 지정하지 않으면 form이 있는 페이지로 보냄.
autocomplete
속성
- 입력요소가 자동완성된 값이 기본값
- 이전에 입력한 값이 있을 경우(브라우저에 기록이 있을 경우)
off
자동 입력 X,on
자동 입력 O(default 값)
input
공통 속성
type | input 컨텐츠의 유형 (button, text, email, file…) |
---|---|
name | input 데이터의 이름 |
value | input 데이터의 값 |
autocomplete | on/off 양식 자동완성 기능에 대한 힌트(check, radio 제외) |
palceholder | 콘텐츠가 비어있을 때 나타나는 내용 |
required | 데이터 전송을 위해 필수로 입력해야하는 값 |
disabled | 비활성화 |
readonly | 수정불가(읽기전용) |
note
readonly vs disabled 둘다 입력 불가.
하지만 readonly에 default 값이 존재한다면 데이터 전송이 가능.